<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
//商品控制器
class GoodsController extends CommonController{
       private $model;
	   private $gmodel;
	   private $gemodel;
	   public function __init(){
	   	//調用父級自動執行方法
	   	parent::__init();
		//實例化商品表模型
		$this->model=new \Common\Model\Goods;
		//實例化商品詳細表 模型
		$gmodel=new \Common\Model\Gpar;
	   }
	   
//商品展示首页
	public function index(){
		//獲得商品所有數據
         $data=$this->model->get();
		 //分貝模板
		 View::with('data',$data);
		 //載入模板
	   View::make();
	}
	
//	商品的添加
     public function add(){
//   	添加商品
     if(IS_POST){
		if(!$this->model->store())View::error($this->model->getError());
		 //提示成功
          View::success('添加成功',U('Goods/index'));
		
     }

     	//實例化模型
     	$this->model= new \Common\Model\Cate;
		$data=$this->model->get();
		$data=Data::tree($data,'cname');
		View::with('data',$data);
		
		
		//實例化模型
		$this->model= new \Common\Model\Brand;
		$da=$this->model->get();
		View::with('da',$da);
         View::make();
     }
	 
	 
	  
	 
	 
//編輯商品
   public function edit(){
// 	      編輯商品
        if(IS_POST){
        	if(!$this->model->edit()) View::error($this->model->getError());
			//成功提示
			View::success('編輯成功',U('index'));
        }
	//2.处理所属分类
	$GoodsCate=new \Common\Model\Cate;
	$cateData=Data::tree($GoodsCate->get(),'cname');
	//分配到模板
	View::with('cateData',$cateData);
     //3.处理所属品牌
     $GoodsBrand=new \Common\Model\Brand;
	 $brandData=$GoodsBrand->get();
	 View::with('branddata',$brandData);
	//4.获得商品的旧数据
	$gid=Q('get.gid','','intval');
	$oldData=$this->model->where('gid='.$gid)->find();
	//分配模板
	View::with('oldData',$oldData);
	//实例化商品属性表
	$gemodel=new \Common\Model\Gevalue;
     //获的商品属性标的数据
	$Ge=$gemodel->join('typevalue','taid','=','typevalue_taid')->where("goods_gid = {$gid}")->get();
	foreach ($Ge as $key => $value) {
		$Ge[$key]['tavalue']=explode('|',$value['tavalue']);
	}
	//分配到模板
	
	View::with('Ge',$Ge);
      //5.获得商品详细表的数据
	$goodsGpar=new \Common\Model\Gpar;
	$GparData=$goodsGpar->where("goods_gid={$gid}")->find();
	$GparData['gpic']=explode(',', $GparData['gpic']);
	View::with('GparData',$GparData);
	
	
	//载入模板
       View::make();
   }
   
   
   
   
   
   //刪除商品
	public function del(){
       	$gmodel=new \Common\Model\Gpar;
		$gemodel=new \Common\Model\Gevalue;
	   //获得要删除的商品的id
	   $gid=Q('get.gid','','intval');
	   //执行删除
	   //刪除商品的圖片
	   $filename=$this->model->where('gid='.$gid)->pluck('gpic');
	   if($filename)unlink($filename);
	   //傷處商品表的id
	   $this->model->where('gid='.$gid)->delete();
       //刪除商品詳細表的圖片	   

		$filename=$gmodel->where('goods_gid='.$gid)->pluck('gpic');
	   if($filename)unlink($filename);
	   //把他變成數組，循環刪除
	   $deic=explode('|',$filename);
	   foreach ($deic as $k=>$v){
	   	if($v)unlink($v);
	   }
	  //刪除商品詳細不表的id
	  $gmodel->where("goods_gid={$gid}")->delete();
	  //商品屬性表
	  $gemodel->where("goods_gid={$gid}")->delete();

	   //成功提示
	   View::success('删除成功！',U('index'));
	}





   
	  //uploadify异步上传
	public function upload()
	{
	    $file = Upload::path('Upload/Content/' . date('y/m'))->make();
	    if (empty($file)) {
	        $this->ajax(Upload::getError());
	    } else {
	        /** $file内部就是以下这个数组
	            $file = array(
	                0 => array(
		                'path' => 'Upload/Content/15/8/123981239172.jpg'    ,
		                'url' => 'http://localhost/cms_edu/Upload/Content/15/8/123981239172.jpg',
		                'image' => 1
	            ),
	        );**/
	        //上传成功，把上传好的信息返给js
	        $data = $file[0];
	        echo json_encode($data);exit;
	    }
	}

	public function getTypeAttr(){
		$tid = Q('post.id',0,'intval');
		$data = Db::table('typevalue')->where("type_tid={$tid}")->get();
		foreach ($data as $k => $v) {
			$data[$k]['tavalue'] = explode('|', $v['tavalue']);
		}
		echo json_encode($data);exit;
		
	} 
}

//保存商品详细表
////		1.获取到需要更新的商品详细表的id
//		$gid = Q('post.gid',0,'intval');//得到商品id用于查找商品详细表的id
//		$gpic = Q('post.gpic');//获得提交上来的图片地址数组
//		$gparModel = new \Common\Model\Gpar;//实例化商品详细表
//		$gpid = $gparModel->where("goods_gid = {$gid}")->pluck('gpid');
////		2.组合需要更新的内容
//		$temp = array(
//			'gpid' =>$gpid,
//			'gpic' =>implode(',', $gpic)
//		);
////		更新数据表类容
//		$gparModel->save($temp);
//		




